package org.jeecg.common.util.page;

import cn.hutool.db.PageResult;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @Author: izanagi
 * @Date: 2020-04-23 11:18
 * @Description: PageWithCollection
 */
public class PageWithCollection {

    /**
     * 用于一对多查询分页
     * @param source 数据源（未分页）
     * @param page 页码
     * @param size 条数
     * @param <T> 数据类型
     * @return {@link PageResult <T>}
     */
    public static <T> Page<T> page(List<T> source, Integer page, Integer size) {

        Page<T> pageResult = new Page<T>( 0L, new ArrayList<T>(0));

        if (source != null && source.size() >=1) {

            pageResult.setTotalCount((long)source.size());
            pageResult.setList(source.stream().skip((page-1)*size).limit(size).collect(Collectors.toList()));
        }

        return pageResult;
    }
}
